package com.kmxd.ams.client.system.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 菜单表
 *
 * @author admin
 * @since 2022-03-24
 */
@Data
public class SysMenuVO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键 */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /** 菜单类型 dir目录；menu菜单；button按钮 */
  private String menuType;

  /** 菜单名称 */
  private String menuName;

  /** 对应角色所属分组， 个人级，部门级，公司级 */
  private String menuGroup;

  /** 上级菜单 */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long parentId;

  /** 路由地址 */
  private String routePath;

  /** 组件路径 */
  private String component;

  /** 权限标识 */
  private String permission;

  /** 图标 */
  private String icon;

  /** 是否缓存 0缓存；1不缓存 */
  private String keepalive;

  /** 是否外链 0是；1否 */
  private String linkExternal;

  /** 是否显示 0显示；1隐藏 */
  private String visible;

  /** 是否内嵌 0内嵌；1不内嵌 */
  private String frame;

  /** 外部链接 */
  private String linkUrl;

  /** 排序 */
  private Integer sort;

  /** 备注 */
  private String remarks;

  /** 状态 0正常；1停用 */
  private String status;

  /** 创建人 */
  private String createBy;

  /** 创建时间 */
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;

  /** 更新人 */
  private String updateBy;

  /** 更新时间 */
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  private Date updateTime;
}
